<?php
/*
 * Classe Senha
 *
 * @author jorge
 * @version 1.0
 *
 * CREATE TABLE "SENHA" 
(
  "USUARIO"	 VARCHAR(20) NOT NULL,
  "SENHA"	 VARCHAR(30),
  "GRUPO"	 VARCHAR(12),
  "NIVEL_OBRA"	 VARCHAR(100),
  "NIVEL_GESTAO" VARCHAR(100),
  "SMTP"	 VARCHAR(30),
  "USERNAME"	 VARCHAR(40),
  "PASS"	 VARCHAR(30),
  "EMAIL"	 VARCHAR(50),
  "NOME"	 VARCHAR(40),
  "PORTA"	 VARCHAR(4),
  "AUTENT"	 VARCHAR(1),
  "CABECALH"	 VARCHAR(10),
  "OP_OBRA"	 VARCHAR(10),
  "OP_GEST"	 VARCHAR(10),
  "NOMEUSU"	 VARCHAR(40),
CONSTRAINT "PK_SENHA" PRIMARY KEY ("USUARIO")
);
*/


require_once("ClasseBanco.php");

class senha 
{
	public $_usuario;
	public $senha;
	public $grupo;
	public $nivel_obra;
	public $nivel_gestao;
        public $smtp;
	public $username;
	public $pass;
	public $email;
	public $nome;
	public $porta;
	public $autent;
	public $cabecalh;
	public $op_obra;
	public $op_gest;
	public $nomeusu;
        
        function __construct($_usuario, $senha, $grupo, $nivel_obra, $nivel_gestao, $smtp, $username, $pass, $email, $nome, $porta, $autent, $cabecalh, $op_obra, $op_gest, $nomeusu) {
            $this->_usuario = $_usuario;
            $this->senha = $senha;
            $this->grupo = $grupo;
            $this->nivel_obra = $nivel_obra;
            $this->nivel_gestao = $nivel_gestao;
            $this->smtp = $smtp;
            $this->username = $username;
            $this->pass = $pass;
            $this->email = $email;
            $this->nome = $nome;
            $this->porta = $porta;
            $this->autent = $autent;
            $this->cabecalh = $cabecalh;
            $this->op_obra = $op_obra;
            $this->op_gest = $op_gest;
            $this->nomeusu = $nomeusu;
        }

        public function get_usuario() {
            return $this->_usuario;
        }

        public function set_usuario($_usuario) {
            $this->_usuario = $_usuario;
        }

        public function getSenha() {
            return $this->senha;
        }

        public function setSenha($senha) {
            $this->senha = $senha;
        }

        public function getGrupo() {
            return $this->grupo;
        }

        public function setGrupo($grupo) {
            $this->grupo = $grupo;
        }

        public function getNivel_obra() {
            return $this->nivel_obra;
        }

        public function setNivel_obra($nivel_obra) {
            $this->nivel_obra = $nivel_obra;
        }

        public function getNivel_gestao() {
            return $this->nivel_gestao;
        }

        public function setNivel_gestao($nivel_gestao) {
            $this->nivel_gestao = $nivel_gestao;
        }

        public function getSmtp() {
            return $this->smtp;
        }

        public function setSmtp($smtp) {
            $this->smtp = $smtp;
        }

        public function getUsername() {
            return $this->username;
        }

        public function setUsername($username) {
            $this->username = $username;
        }

        public function getPass() {
            return $this->pass;
        }

        public function setPass($pass) {
            $this->pass = $pass;
        }

        public function getEmail() {
            return $this->email;
        }

        public function setEmail($email) {
            $this->email = $email;
        }

        public function getNome() {
            return $this->nome;
        }

        public function setNome($nome) {
            $this->nome = $nome;
        }

        public function getPorta() {
            return $this->porta;
        }

        public function setPorta($porta) {
            $this->porta = $porta;
        }

        public function getAutent() {
            return $this->autent;
        }

        public function setAutent($autent) {
            $this->autent = $autent;
        }

        public function getCabecalh() {
            return $this->cabecalh;
        }

        public function setCabecalh($cabecalh) {
            $this->cabecalh = $cabecalh;
        }

        public function getOp_obra() {
            return $this->op_obra;
        }

        public function setOp_obra($op_obra) {
            $this->op_obra = $op_obra;
        }

        public function getOp_gest() {
            return $this->op_gest;
        }

        public function setOp_gest($op_gest) {
            $this->op_gest = $op_gest;
        }

        public function getNomeusu() {
            return $this->nomeusu;
        }

        public function setNomeusu($nomeusu) {
            $this->nomeusu = $nomeusu;
        }

             
        public function montaSenha($condicao) {
            $ba = new bancoDados();
            $sql = $ba->montaSelectSQL($this) . $condicao;
            return $ba->executaQuery($sql);
        }

        public function montaSenhaConsulta($condicao) {
            $ba = new bancoDados();
            $sql = $ba->montaSelectSQL($this) . $condicao;
            return $ba->executaQueryConsulta($sql);
        }

        public function incluirSenha() {
            $ba = new bancoDados();
            $sql = $ba->montaIncluirSQL($this);
            $ba->atualizaQuery($sql);
            return true;
        }

        public function alterarSenha()
        {
            $sql  = " UPDATE SENHA SET ";
            $sql .= "        GRUPO  = '$this->grupo'";  //__Tenho de botar em cima por causa da virgula
            If ( Trim($this->senha) != '' ) {
                $sql .= "  ,SENHA     = '$this->senha' ";
            }
            $sql .= " ,NIVEL_OBRA   = '$this->nivel_obra'";  
            $sql .= " ,NIVEL_GESTAO = '$this->nivel_gestao'"; 
            $sql .= " ,SMTP         = '$this->smtp'    ";
            $sql .= " ,USERNAME     = '$this->username'";
            $sql .= " ,PASS         = '$this->pass'    ";
            $sql .= " ,EMAIL        = '$this->email'   ";
            $sql .= " ,NOME         = '$this->nome'    ";
            $sql .= " ,PORTA        = '$this->porta'   ";
            $sql .= " ,AUTENT       = '$this->autent'  ";
            $sql .= " ,CABECALH     = '$this->cabecalh'";
            $sql .= " ,NOMEUSU      = '$this->nomeusu' ";
            $sql .= " ,OP_OBRA      = '$this->op_obra' ";
            $sql .= " ,OP_GEST      = '$this->op_gest' ";
            $sql .= " WHERE USUARIO = '$this->_usuario' ";

            $ba = new bancoDados();
            $ba->atualizaQuery($sql);
            return true;
        }

        public function excluiSenha() {
            $ba = new bancoDados();
            $sql = $ba->montaExcluirSQL($this);
            $ba->atualizaQuery($sql);
            return true;
        }

        public function XMLSenha($cCondicao)
        {
            $rs = $this->montaSenhaConsulta($cCondicao);

            header("Content-type:application/xml;");
            $xml = "<?xml version='1.0' encoding='iso-8859-1'?>\r\n";

            global $xml;

            $xml .= "<senhas>";

            foreach ($rs as $row)
            {
                $xml .= "<senha>";
                    $xml .= "<usuario>"     .Trim(utf8_encode($row['USUARIO']))     . "</usuario>";
                    $xml .= "<grupo>"       .Trim(utf8_encode($row['GRUPO']))       . "</grupo>";
                    $xml .= "<nivel_obra>"  .Trim(utf8_encode($row['NIVEL_OBRA']))  . "</nivel_obra>";
                    $xml .= "<nivel_gestao>".Trim(utf8_encode($row['NIVEL_GESTAO'])). "</nivel_gestao>";
                    $xml .= "<smtp>"        .Trim(utf8_encode($row['SMTP']))        . "</smtp>";
                    $xml .= "<username>"    .Trim(utf8_encode($row['USERNAME']))    . "</username>";
                    $xml .= "<pass>"        .Trim(utf8_encode($row['PASS']))        . "</pass>";
                    $xml .= "<email>"       .Trim(utf8_encode($row['EMAIL']))       . "</email>";
                    $xml .= "<nome>"        .Trim(utf8_encode($row['NOME']))        . "</nome>";
                    $xml .= "<porta>"       .$row['PORTA']                          . "</porta>";
                    $xml .= "<autent>"      .$row['AUTENT']                         . "</autent>";
                    $xml .= "<cabecalh>"    .Trim($row['CABECALH'])                 . "</cabecalh>";
                    $xml .= "<op_obra>"     .Trim($row['OP_OBRA'])                  . "</op_obra>";
                    $xml .= "<op_gest>"     .Trim($row['OP_GEST'])                  . "</op_gest>";
                    $xml .= "<nomeusu>"     .Trim($row['NOMEUSU'])                  . "</nomeusu>";
                $xml .= "</senha>";
            }
            $xml .= '</senhas>';
            echo $xml;
            return;
        }
}

?>